package cn.kepu.elearning.util;

import org.apache.commons.lang3.StringUtils;

import java.util.regex.Matcher;
import java.util.regex.Pattern;

/**
 * @author Endy
 * @date 2020-08-05 下午2:03
 **/
public class HtmlUtil {

    /**
     * 去掉字符串里面的html代码。<br>
     * 要求数据要规范，比如大于小于号要配套,否则会被集体误杀。
     *
     * @param content 内容
     * @return 去掉后的内容
     */
    public static String stripHtml(String content) {
        if (StringUtils.isBlank(content)) {
            return content;
        }
        // <p>段落替换为换行
        content = content.replaceAll("<p .*?>", "\r\n");
        // <br><br/>替换为换行
        content = content.replaceAll("<br\\s*/?>", "\r\n");
        // 去掉其它的<>之间的东西
        content = content.replaceAll("<.*?>", "");
        content = content.replaceAll("&nbsp;", "");
        return content;
    }


    /**
     * 去除字符串中的html标签
     *
     * @param htmlStr 要去除html标签的字符串
     * @return 去除html标签后的字符串
     */
    public static String delHTMLTag(String htmlStr) {
        if (StringUtils.isBlank(htmlStr)) {
            return htmlStr;
        }

        String regEx_html = "<[^>]+>"; //定义HTML标签的正则表达式

        Pattern p_html = Pattern.compile(regEx_html, Pattern.CASE_INSENSITIVE);
        Matcher m_html = p_html.matcher(htmlStr);
        htmlStr = m_html.replaceAll(""); //过滤html标签
        htmlStr = htmlStr.replaceAll("&nbsp;", "");

        return htmlStr.trim(); //返回文本字符串
    }

    public static void main(String[] args) {
        // String a = "<p style=line-height: 21px; text-indent: 0em; font-family: Arial, hiragino= sans= font-size:= white-space:= background-color:=>1.多物理场智能探测与成像技术的研究背景</p><p style=line-height: 21px; text-indent: 0em; font-family: Arial, hiragino= sans= font-size:= white-space:= background-color:=>2.国内外进展</p><p style=line-height: 21px; text-indent: 0em; font-family: Arial, hiragino= sans= font-size:= white-space:= background-color:=>3.电工所在多物理场智能探测与成像技术的研究工作</p><p style=line-height: 21px; text-indent: 0em; font-family: Arial, hiragino= sans= font-size:= white-space:= background-color:=>4.未来目标</p><p style=line-height: 21px; text-indent: 0em; font-family: Arial, hiragino= sans= font-size:= white-space:= background-color:=><span style=text-indent: 2em;>点击以下图片链接，可观看该电子阅读对应视频课件：</span></p><p style=line-height: 21px; text-indent: 2em; font-family: Arial, hiragino= sans= font-size:= white-space:= background-color:=><a title= href=http://www.casmooc.cn/onlineCourseAction.do?method=detail&amp;bookId=1509014098928 target=_self><img title=多物理场智能探测与成像技术研究 src=http://159.226.28.13/uploadFile/ueditor/20171031/47821509429864316.jpg/></a></p><p><br/></p>";
        String a = "&nbsp; 2016年6月13日";
        System.out.println(delHTMLTag(a));
    }
}
